﻿
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using BLL;
namespace WebService_RentaCar
{
    /// <summary>
    /// Summary description for webServiceAuto
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class webServiceModelo : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet devolverModelos()
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaModelos();


        }
        [WebMethod]
        public DataSet devolverModelosbyMarca(int codigoMarca)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.cargaModelosbyMarca(codigoMarca);


        }

        [WebMethod]
        public string insertarModelos(int codigoModelo, int codigoMarca, string modelo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoModelo = codigoModelo;
            objgetValuesWS.codigoMarca = codigoMarca;
            objgetValuesWS.Modelo = modelo;
            

            return objgetValuesWS.ingresaModelos();

        }

        [WebMethod]
        public string actualizarModelos(int CodigoModelo, int CodigoMarca, string Modelo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            
            objgetValuesWS.codigoModelo = CodigoModelo;
            objgetValuesWS.codigoMarca = CodigoMarca;
            objgetValuesWS.Modelo = Modelo;
            




            return objgetValuesWS.actualizaAutos();

        }

        [WebMethod]
        public string eliminarModelos(int codigoModelo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoModelo = codigoModelo;



            return objgetValuesWS.eliminaModelos();

        }


        [WebMethod]
        public DataSet editarModelos(int codigoModelo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();

            objgetValuesWS.codigoModelo = codigoModelo;
            return objgetValuesWS.editaModelos();


        }


        // "Facade"
        private class getValuesWS
        {

            #region Propiedades
           
            public int codigoModelo { get; set; }
            public int codigoMarca { get; set; }
            public string Modelo { get; set; }
           

            public string estado { get; set; }
            #endregion

            public DataSet listaModelos()
            {
               // try
                //{
                    ModeloAutoC objModelos = new ModeloAutoC();
                    return objModelos.cargarModelosAuto();

                //}
                //catch (Exception)
                //{
                //    return null;
                //}

            }

            public string ingresaModelos()
            {
                try
                {

                    ModeloAutoC objModelos = new ModeloAutoC();
                    
                    objModelos.codigoModelo = codigoModelo;
                    objModelos.codigoMarca = codigoMarca;
                    objModelos.Modelo = Modelo;
                    


                    estado = objModelos.insertarModelosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string actualizaAutos()
            {
                try
                {

                    ModeloAutoC objAutos = new ModeloAutoC();
                    
                    objAutos.codigoModelo = codigoModelo;
                    objAutos.codigoMarca = codigoMarca;
                    objAutos.Modelo = Modelo;
                
                    estado = objAutos.actualizarModelosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string eliminaModelos()
            {
                try
                {
                    ModeloAutoC objModelos = new ModeloAutoC();
                    objModelos.codigoModelo = codigoModelo;
                    estado = objModelos.eliminarModelosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public DataSet editaModelos()
            {
                try
                {
                    ModeloAutoC objModelos = new ModeloAutoC();

                    objModelos.codigoModelo = codigoModelo;
                    return objModelos.editarModelosAuto();

                }
                catch (Exception)
                {
                    return null;
                }

            }

            public DataSet cargaModelosbyMarca(int codigoMarca)
            {
                try
                {
                    ModeloAutoC objModelos = new ModeloAutoC();

                    objModelos.codigoMarca = codigoMarca;
                    return objModelos.cargaModelosbyMarca();

                }
                catch (Exception)
                {
                    return null;
                }

            }
        }


    }
}
